package com.ruoyi.ring.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 健康问卷对象 az_health_question
 * 
 * @author liuwp
 * @date 2025-07-29
 */
@Data
public class HealthQuestion extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 问题 */
    @Excel(name = "问题")
    private String question;

    /** 问题标识 */
    @Excel(name = "问题标识")
    private String questionSign;

    /** 选项1 */
    @Excel(name = "选项1")
    private String option1;

    /** 选项2 */
    @Excel(name = "选项2")
    private String option2;

    /** 选项3 */
    @Excel(name = "选项3")
    private String option3;

    /** 选项4 */
    @Excel(name = "选项4")
    private String option4;

    /** 选项5 */
    @Excel(name = "选项5")
    private String option5;

    /** 选项6 */
    @Excel(name = "选项6")
    private String option6;

    /** 选项7 */
    @Excel(name = "选项7")
    private String option7;

    /** 选项8 */
    @Excel(name = "选项8")
    private String option8;

    /** 选项9 */
    @Excel(name = "选项9")
    private String option9;

    /** 补充1 */
    @Excel(name = "补充1")
    private String supplement1;

    /** 补充2 */
    @Excel(name = "补充2")
    private String supplement2;

    /** 补充3 */
    @Excel(name = "补充3")
    private String supplement3;

    /** 排序 */
    @Excel(name = "排序")
    private Integer orderBy;

    /** 删除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deleteTime;

    /** 版本 */
    @Excel(name = "版本")
    private String version;

    /** 状态 */
    @Excel(name = "状态", dictType = "sys_normal_disable")
    private String status;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("question", getQuestion())
            .append("questionSign", getQuestionSign())
            .append("option1", getOption1())
            .append("option2", getOption2())
            .append("option3", getOption3())
            .append("option4", getOption4())
            .append("option5", getOption5())
            .append("option6", getOption6())
            .append("option7", getOption7())
            .append("option8", getOption8())
            .append("option9", getOption9())
            .append("supplement1", getSupplement1())
            .append("supplement2", getSupplement2())
            .append("supplement3", getSupplement3())
            .append("orderBy", getOrderBy())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("deleteTime", getDeleteTime())
            .append("version", getVersion())
            .append("status", getStatus())
            .toString();
    }
}
